home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1979-12-31 | 3.6 KB | 141 lines |
- 10 GOTO 60
- 20 ' YA2LOOK.BAS YOURART2 PICTURE DISPLAY PROGRAM
- 30 ' JULY 1984 EVERETT DELANO
- 40 ' P.O. BOX 205
- 50 ' ELK CITY, OKLA. 73648
- 60 SCREEN 0,1,0,0:WIDTH 80:KEY OFF
- 70 GOSUB 1230
- 80 DEFINT A-Z:DIM SORT$(101)
- 90 DEF SEG=0:IF (PEEK(&H410) AND &H30) <> &H30 THEN 100 ELSE 1100
- 100 DEF SEG:POKE 106,0
- 110 ON ERROR GOTO 1010
- 120 FOR COUNT=1 TO 10:KEY COUNT,"":NEXT
- 130 COLOR 7,4,1:CLS
- 140 LEGEND$="* Press Esc To EXIT *"
- 150 LOCATE 25,28:COLOR 2:PRINT LEGEND$;:COLOR 7
- 160 TITLE$="* * * * YOURART HIGH RESOLUTION DISPLAY * * * *"
- 170 CENTER=(80-LEN(TITLE$))/2
- 180 LOCATE 1,CENTER,0:PRINT TITLE$
- 190 LOCATE 2,22:COLOR 19:PRINT "(MAXIMUM OF 88 PICTURES PER SESSION)":COLOR 7
- 200 LOCATE 5,8,0
- 210 PRINT"WHICH DRIVE CONTAINS THE PICTURES: ";
- 220 INK$=INKEY$:IF LEN(INK$)<>1 THEN 220
- 230 IF INK$=CHR$(27) THEN 1070
- 240 PRINT INK$;
- 250 IF ASC(INK$)>96 AND ASC(INK$)<103 THEN INK$=CHR$(ASC(INK$)-32)
- 260 IF INSTR("ABCDEF",INK$)<1 THEN LOCATE 6,1,0:GOSUB 960:GOTO 200
- 270 DRIVE$=LEFT$(INK$,1)+":"
- 280 LOCATE 7,8,0
- 290 PRINT "MANUAL OR AUTOMATIC DISPLAY"
- 300 LOCATE 8,27,0:PRINT "SELECT M or A : ";
- 310 INK$=INKEY$:IF INK$="" THEN 310
- 320 IF INK$=CHR$(27) THEN 1070
- 330 PRINT INK$;
- 340 S=INSTR("MmAa",INK$):IF S<1 THEN LOCATE 9,1,0:GOSUB 960:GOTO 300
- 350 IF S=1 OR S=2 THEN GOTO 790
- 360 LOCATE 25,26:BEEP:COLOR 18:PRINT "* Enter QUIT To EXIT *";:COLOR 7
- 370 LOCATE 10,8,0
- 380 PRINT "DISPLAY DURATION IN SECONDS"
- 390 LOCATE 11,1,0:PRINT STRING$(79," ");:LOCATE 11,29,0
- 400 INPUT "MAXIMUM 60 : ",SECS$
- 410 IF SECS$="QUIT" OR SECS$="quit" OR SECS$="Quit" THEN 1070
- 420 SECS=VAL(SECS$)
- 430 IF SECS>60 THEN LOCATE 11,1,0:GOSUB 960:GOTO 390
- 440 LOCATE 5,8,0
- 450 IF S=1 OR S=2 THEN GOTO 790
- 460 WIDTH 80:COLOR 0,0,0:CLS
- 470 FILES DRIVE$+"*.PIC"
- 480 GOSUB 1130
- 490 CROW=CSRLIN
- 500 COUNT=0
- 510 LOCATE 1,1,1
- 520 FOR ROW=STL TO CROW
- 530 FOR COL=1 TO 72 STEP STP
- 540 COUNT=COUNT+1
- 550 FOR N=0 TO 11
- 560 SORT$(COUNT)=SORT$(COUNT)+CHR$(SCREEN(ROW,(COL+N)))
- 570 NEXT N
- 580 IF LEFT$(SORT$(COUNT),1)=" " THEN COUNT=COUNT-1 :GOTO 620
- 590 SORT$(COUNT)=DRIVE$+SORT$(COUNT)
- 600 NEXT COL
- 610 NEXT ROW
- 620 IF COUNT > 88 THEN 1080
- 630 TOTPICS=COUNT
- 640 FOR COUNT=1 TO TOTPICS-1
- 650 FOR PLACE=COUNT+1 TO TOTPICS
- 660 IF SORT$(PLACE)<SORT$(COUNT) THEN SWAP SORT$(COUNT),SORT$(PLACE)
- 670 NEXT PLACE
- 680 NEXT COUNT
- 690 SCREEN 2
- 700 FOR PIC=1 TO TOTPICS
- 710 BLOAD SORT$(PIC)
- 720 GOSUB 760
- 730 CLS
- 740 NEXT PIC
- 750 GOTO 1070
- 760 IF VMODE$="M" THEN GOTO 890
- 770 FOR CLOCK!=1 TO 1100*SECS:NEXT
- 780 RETURN
- 790 CLS:LOCATE 5,22,0:PRINT "Grey Plus Key `+' for next picture."
- 800 LOCATE 7,22,0:PRINT "Grey Minus Key `-' for previous picture."
- 810 LOCATE 9,22,0:PRINT "Esc Key to EXIT from display"
- 820 LOCATE 11,22,0:PRINT "Press ";CHR$(17);CHR$(196);CHR$(217);" to begin"
- 830 LOCATE 25,26,0:COLOR 18:PRINT "* Press Esc To Exit *";:COLOR 7
- 840 INK$=INKEY$:IF INK$="" THEN 840
- 850 IF INK$=CHR$(27) THEN 1070
- 860 IF INK$<>CHR$(13) THEN 840
- 870 VMODE$="M"
- 880 GOTO 460
- 890 INK$=INKEY$:IF INK$="" THEN 890
- 900 IF INK$="+" THEN RETURN
- 910 IF INK$="-" THEN PIC=PIC-2:GOSUB 940:RETURN
- 920 IF INK$=CHR$(27) THEN 1070
- 930 GOTO 890
- 940 IF PIC=-1 THEN PIC=0
- 950 RETURN
- 960 BEEP:LOCATE CSRLIN,20,0:PRINT "IMPROPER RESPONSE - PLEASE TRY AGAIN!!";
- 970 FOR COUNT=1 TO 5000:NEXT
- 980 LOCATE CSRLIN,1,0:PRINT STRING$(79," ");
- 990 LOCATE CSRLIN-1,1,0:PRINT STRING$(79," ");
- 1000 BEEP:RETURN
- 1010 IF ERL<>470 THEN 1040
- 1020 COLOR 14,1,0:CLS:LOCATE 12,10,1:PRINT "NO PICTURE FILES FOUND"
- 1030 GOSUB 1340:END
- 1040 SCREEN 0,1,0,0:WIDTH 80:COLOR 14,1,0:CLS
- 1050 LOCATE 12,10,11:PRINT "ERROR";ERR;" OCCURED IN LINE";ERL
- 1060 GOSUB 1340:END
- 1070 SCREEN 0,1,0,0:WIDTH 80:COLOR 14,1,0:CLS:GOSUB 1340:END
- 1080 COLOR 14,1,0:CLS:LOCATE 12,10,1:PRINT "TOO MANY PICTURE FILES!!"
- 1090 GOSUB 1340:END
- 1100 DEF SEG:POKE 106,0:COLOR 14,1,0:CLS:BEEP
- 1110 LOCATE 12,15:PRINT "IBM COMPATABLE COLOR GRAPHICS CARD REQUIRED!"
- 1120 BEEP:END
- 1130 IF SCREEN(1,14)=32 THEN 1160
- 1140 STP=13
- 1150 GOTO 1200
- 1160 IF SCREEN(1,14)=32 THEN 1190
- 1170 STP=13
- 1180 GOTO 1200
- 1190 STP=18
- 1200 IF SCREEN(1,9)=46 THEN STL=1:GOTO 1220
- 1210 STL=2
- 1220 RETURN
- 1230 DEF SEG:P=0
- 1240 FOR COUNT=1 TO 10
- 1250 KEYHOLD$(COUNT)=""
- 1260 WHILE PEEK(P+1619)<>0
- 1270 KEYHOLD$(COUNT)=KEYHOLD$(COUNT)+CHR$(PEEK(P+1619))
- 1280 P=P+1
- 1290 WEND
- 1300 P=COUNT*16
- 1310 KEYHOLD$(COUNT)=KEYHOLD$(COUNT)+CHR$(0)
- 1320 NEXT
- 1330 RETURN
- 1340 DEF SEG
- 1350 FOR COUNT=1 TO 10
- 1360 FOR PLACE=1 TO LEN(KEYHOLD$(COUNT))
- 1370 POKE 1618+(COUNT-1)*16+PLACE,ASC(MID$(KEYHOLD$(COUNT),PLACE))
- 1380 NEXT PLACE,COUNT
- 1390 KEY OFF:KEY ON
- 1400 RETURN
-